home *** CD-ROM | disk | FTP | other *** search
- Dear CA-Clipper 5.2 Developer,
-
- The CA-Clipper 5.2d/ExoSpace 1.0f upgrade described in this file
- contains latest fixes for CA-Clipper and CA-Clipper/ExoSpace.
- This includes an updated version of the DBFMDX driver revised to
- be compatible with the CA-Clipper/Compiler Kit. The DBFMDX database
- collation drivers are now CA-Clipper/ExoSpace compatible also.
- The DBFCDX driver has not been changed. We are currently working on
- a separate patch for it. It will be published as soon as it is ready.
-
- If you have any questions, please contact your CA-Clipper
- Level-1 Technical Support representative.
-
-
- This file contains:
-
- A. The instructions for applying the CA-Clipper 5.2d upgrade to any
- International version of CA-Clipper 5.2 including: 5.20, 5.2a,
- 5.2b or 5.2c.
-
- It also contains instructions for applying the CA-Clipper 5.2d/
- ExoSpace 1.0f upgrade. This is needed ONLY if you have a previous
- version of ExoSpace installed on your system.
- If you DO NOT have ExoSpace already installed, please answer NO
- to the question "Do you have ExoSpace installed" during
- the upgrade process and only the Clipper files will be updated.
-
- Please review the file list below and the UPDATE PROCESS
- instructions carefully before applying the upgrade.
-
- B. The problem resolutions contained in CA-Clipper 5.2d.
-
-
- =============================================================================
-
- A. Instructions for upgrading Clipper 5.2 (any rev.) to 5.2d (rev. 215) and
- ExoSpace (any installed version) to 1.0f version.
-
- REQUIRED FILE FOR PERFORMING UPDATE:
-
- 52DIX.EXE A self extracting ZIP file that may be
- downloaded from the CLIPPER forum (library 0)
- on CompuServe. (GO CLIPPER).
-
-
- CONTENTS OF 52DIX.EXE:
-
- INSTALL.DAT Installation script file.
-
-
- INSTALL.EXE Installation engine required for performing the
- CA-Clipper 5.2d upgrade.
-
- PATCH.EXE Updating engine required for use with all the
- *.RTPs. This file is also in Library 0 of the
- CLIPPER CompuServe forum.
-
-
- DISK.ID Installation identification file.
-
-
- 52DINC.LIF Compressed update file for CLIPPER5\INCLUDE
-
- 52DOBJ.LIF Compressed update file for CLIPPER5\OBJ
-
- 52DDBU.LIF Compressed update file for CLIPPER5\SOURCE\DBU
-
- 52DRL.LIF Compressed update file for CLIPPER5\SOURCE\RL
-
- 52DSAMPL.LIF Compressed update file for CLIPPER5\SOURCE\SAMPLE
-
- 52DSYS.LIF Compressed update file for CLIPPER5\SOURCE\SYS
-
- 52DERROR.LIF Compressed update file for CLIPPER5\SOURCE\ERROR
-
- 52DFISYS.LIF Compressed update file for CLIPPER5\SOURCE\FILESYS
-
- 52DITEM.LIF Compressed update file for CLIPPER5\SOURCE\ITEM
-
- 52DSDX.LIF Compressed update file for CLIPPER5\SOURCE\SDX
-
- 52DVM.LIF Compressed update file for CLIPPER5\SOURCE\VM
-
- CLP52BIN.RTP Update file for CLIPPER5\BIN
-
- CLP52LIB.RTP Update file for CLIPPER5\LIB
-
- CLP52NG.RTP Update file for NG
-
- 52DIX.TXT Instructions for upgrading to
- CA-Clipper 5.2d/ExoSpace 1.0f and the list of
- problem resolutions (This file).
-
-
- THE FOLLOWING FILES ARE FOR PERFORMING EXOSPACE UPDATE:
-
- EXO10F.RTP Update file for ExoSpace
-
- EXNG-10F.RTP Update file for ExoSpace NG
-
-
-
- UPDATE PROCESS:
-
- 1. Move to your CA-Clipper 5.2 directory.
- EXAMPLE: C:\> CD\CLIPPER5
-
- 2. Backup your current version of CA-Clipper.
- Do the same for ExoSpace IF you already have it installed.
-
- 3. If you have Clipper 5.2, 5.2a, 5.2b or 5.2c AND have any problems
- installing the upgrade, please reinstall Clipper from the original
- disks and reapply the upgrade.
-
- To determine the version of Clipper that you currently have.
- At the DOS prompt type
-
- Clipper then press return
-
-
- At the top of the screen, there will be the copyright header with
- the version number.
-
- 4. Execute the installation program and follow its simple
- instructions.
-
- EXAMPLE: A:\> INSTALL
-
- - or -
-
- EXAMPLE: C:\> A:INSTALL
-
- NOTE: All the files that are upgraded must be on the same drive.
-
- 5. After the installation program has run successfully compare the
- date and time stamps of the updated files against the
- LIST OF UPDATED FILES section.
-
- 6. If you have applied the CA-Clipper 5.2d upgrade in a directory
- other than the one into which you installed the original
- CA-Clipper 5.2 version, you must make sure that your
- PATH, INCLUDE, OBJ, and LIB environment variables have been
- correctly set to point to the updated version of CA-Clipper.
- Example:
- (Scenario: You installed CA-Clipper 5.2 in C:\CLIPPER5
- and later renamed the directory (or moved the files)
- to C:\CLIP52D.)
- A:\ SET PATH=C:\CLIP52D\BIN
- A:\ SET INCLUDE=C:\CLIP52D\INCLUDE
- A:\ SET OBJ=C:\CLIP52D\OBJ
- A:\ SET LIB=C:\CLIP52D\LIB
-
- NOTE: You should also change these settings in your AUTOEXEC.BAT file.
-
- 7. If you are using the CA-Clipper 5.2 International Nation
- Modules, run NATION.BAT to extract the 5.2d versions of these
- files. See NATION.DOC in your \CLIPPER5 directory for detailed
- instructions.
-
- 8. Move to your DBU directory, define RTLINK's behavior and
- re-compile DBU.
- EXAMPLE:
- A:\> C:
- C:\NG> CD \CLIPPER5\SOURCE\DBU
- C:\CLIPPER5\SOURCE\DBU> SET RTLINKCMD=
- C:\CLIPPER5\SOURCE\DBU> SET CLIPPERCMD=
- C:\CLIPPER5\SOURCE\DBU> RMAKE DBU /F
-
- Copy DBU.EXE to your BIN directory.
- EXAMPLE:
- C:\CLIPPER5\SOURCE\DBU> COPY DBU.EXE C:\CLIPPER5\BIN
-
-
- 9. Move to your RL directory, re-compile RL.
- EXAMPLE:
- C:\CLIPPER5\SOURCE\DBU> CD \CLIPPER5\SOURCE\RL
- C:\CLIPPER5\SOURCE\RL> RMAKE RL /F
-
- Copy RL.EXE to your BIN directory.
- EXAMPLE:
- C:\CLIPPER5\SOURCE\RL> COPY RL.EXE C:\CLIPPER5\BIN
-
-
- 10. Move to your PE directory, re-compile PE.
- EXAMPLE:
- C:\CLIPPER5\SOURCE\RL> CD \CLIPPER5\SOURCE\PE
- C:\CLIPPER5\SOURCE\PE> RMAKE PE /F
-
- Copy PE.EXE to your BIN directory.
- EXAMPLE:
- C:\CLIPPER5\SOURCE\PE> COPY PE.EXE C:\CLIPPER5\BIN
-
-
- 11. Move to your PLL directory, rebuild BASE52.PLL and BASE52.PLT.
- EXAMPLE:
- C:\CLIPPER5\SOURCE\PE> CD \CLIPPER5\PLL
- C:\CLIPPER5\PLL> RTLINK @BASE52
-
- Do not become alarmed if the message: "Undefined Symbols...
- should be resolved at EXE generation" appears during this
- step.
-
- 12. The update process is now complete.
-
-
- LIST OF UPDATED FILES:
-
- This is a list of all files that have changed since the
- release of CA-Clipper 5.2.
-
- CA-Clipper 5.2d upgrade marks all CA-Clipper files with a
- date stamp of 03-25-94 and a time stamp of 5:24am.
- ExoSpace upgrade IF APPLIED marks TWO files listed below with
- a date stamp of 4-21-94 and a time stamp of 1:06am.
-
- Now it is easy to check if the upgrade applied properly.
- The exception are files from \PLL and \SOURCE\PE subdirectories.
- They have never been changed and have a date stamp of 02-15-93
- and a time stamp of 5:20am.
-
- The files DBU.EXE, RL.EXE, PE.EXE, BASE52.PLL and BASE52.PLT
- will have the date and time stamp of when they were most
- recently rebuilt.
-
- The following subdirectories are created (if they do not exist)
- under the SOURCE directory for API sample files.
- SDX, ERROR, FILESYS, ITEM and VM.
-
-
- Directory of C:\CLIPPER5\BIN
-
- CLD HLP 19677
- CLD EXE 54415
- CLIPPER EXE 198968
-
-
- Directory of C:\CLIPPER5\INCLUDE
-
- ACHOICE CH 951
- CLIPDEFS H 1703
- EXTEND H 238
- INKEY CH 8579
- RDDSYS CH 342
- STD CH 51453
-
- Following files are added for API
-
- ERROR API 2090 Error System API header file
- EXTEND API 2194 Extend System API header file
- FILESYS API 2652 File System API header file
- FM API 811 Fixed Memory API header file
- GT API 2734 General Terminal API header file
- ITEM API 1802 Item API header file
- RDD API 27716 RDD API header file
- RULES RMK 2312 Common RMAKE dependencies file
- VM API 1093 Virtual Memory API header file
-
-
- Directory of C:\CLIPPER5\LIB
-
- ANSITERM LIB 12321
- CLD LIB 80719
- CLIPPER LIB 519373
- DBFCDX LIB 107993
- DBFMDX LIB 90757
- DBFNDX LIB 27175
- DBFNTX LIB 38977
- EXTEND LIB 127931
- NOVTERM LIB 13857
- PCBIOS LIB 14369
- SAMPLES LIB 53891
- TERMINAL LIB 14369
-
-
- Directory of C:\CLIPPER5\OBJ
-
- CDXLOCK OBJ 6679
- CT2PATCH OBJ 4703
- NTXLOCK2 OBJ 302
- CHOOSE COM 96
- NATION BAT 3674
- NAT_OBJ EXE 116116
-
-
- Directory of C:\CLIPPER5\SOURCE\DBU
-
- DBU PRG 24063
- DBUCOPY PRG 17556
- DBUEDIT PRG 22484
- DBUNET PRG 8931
- DBUVIEW PRG 67609
-
-
- Directory of C:\CLIPPER5\SOURCE\RL
-
- RL RMK 436
- RLBACK PRG 40489
- RLDIALG PRG 10626
- RLFRONT PRG 40165
-
-
- Directory of C:\CLIPPER5\SOURCE\SAMPLE
-
- BROWSE PRG 10294
- STUFF C 2982
- TBDEMO PRG 12398
-
-
- Directory of C:\CLIPPER5\SOURCE\SYS
-
- FRMBACK PRG 17723
- FRMRUN PRG 28808
- LBLRUN PRG 7554
-
-
- Directory of C:\CLIPPER5\SOURCE\SDX:
-
- README SDX 13564 RDD API Sample code
- SDX C 43468 " "
- SDX H 3876 " "
- SDX RMK 951 " "
- SDXDYN ASM 1944 " "
- SDXINIT PRG 300 " "
- SDXINTER C 7781 " "
-
- Directory of C:\CLIPPER5\SOURCE\ERROR:
-
- FILEOPEN C 2714 Error API Sample code
-
- Directory of C:\CLIPPER5\SOURCE\FILESYS:
-
- FILEOPEN C 2714 Filesys API Sample code
-
- Directory of C:\CLIPPER5\SOURCE\ITEM:
-
- CC C 1410 Item API Sample code
- CCTST PRG 641 " "
- CCTST RMK 436 " "
- DFUNC C 1356 " "
- DFUNCTST PRG 584 " "
- DFUNCTST RMK 428 " "
- ISDBL C 609 " "
- ISDBLTST PRG 1229 " "
- ISDBLTST RMK 475 " "
- TESTBED PRG 854 " "
- UACLN C 1888 " "
- UACLNTST PRG 1274 " "
- UACLNTST RMK 435 " "
- UARRY C 1863 " "
- UARRYTST PRG 1180 " "
- UARRYTST RMK 443 " "
- UEVAL C 893 " "
- UEVALTST PRG 2121 " "
- UEVALTST RMK 479 " "
- YESNO C 837 " "
-
- Directory of C:\CLIPPER5\SOURCE\VM:
-
- BOOTREAD PRG 603 VM API Sample code
- BOOTREAD RMK 245 " "
- BOOTSEC C 1996 " "
- CCVM C 1372 " "
- CCVMTST PRG 661 " "
- CCVMTST RMK 440 " "
- HEXAMP C 1122 " "
- TESTBED PRG 854 " "
- VCOPYTST PRG 863 " "
- VCOPYTST RMK 462 " "
- VMCOPY C 12498 " "
-
- ExoSpace files (if installed)
-
- EXOSPACE EXE 642835
- EXOSPACE NG 110905
-
-
- =============================================================================
-
- B. Problems resolved by CA-Clipper 5.2d:
-
- 1. Fixed a VMIF in the Object Memory Manager. This occurred in low memory
- situations when the OMM took space from the VM segment that it was
- attempting to expand.
-
- 2. Fixed a GPF/VMIF in the Object Memory Manager's garbage collector that
- occurred when there were a large number of static variables.
-
- 3. Fixed the FIELDPOS() function so that it no longer returns misleading
- results when passed an invalid argument.
-
- 4. Fixed bug in oStrDup() where an incorrect number of bytes were being
- copied to an incorrect location for dedicated VM segments.
-
- 5. Fixed a VMIF in the Object Memory Manager that occurred when performing
- an incremental garbage collection on an array that had just satisfied
- the requirement for occupying its own dedicated VM segment.
-
- 6. Fixed a GPF that occurred when growing the class/dictionary table.
- This happens when instantiating a class or creating a dictionary
- when the dictionary/class table is full.
-
- 7. Fixed the RDD manager so it does not become corrupted when the VMM
- swaps its data to disk. This occurred only in a very low memory
- situation.
-
- 8. Panning right in a TBROWSE containing a single frozen column no
- longer causes TBROWSE to go into an infinite loop when trying to
- redisplay.
-
- 9. Fixed a GPF in TbrowseNew() and TbrowseDB() in certain memory
- configurations.
-
- 10. Fixed a GPF in the function ALIAS([<nWorkArea>]) when
- nWorkArea > 255.
-
- 11. Fixed the GPF caused by function ORDKEY() with an invalid
- <cOrderName>.
-
- 12. Fixed the SET DELETED ON command so that it does not affect record
- visibility on a network.
-
- 13. Fixed the SORT command so that it deallocates the memory it allocated
- before returning control to its caller.
-
- 14. Fixed internal errors 650, 775 and 999 that occurred when the compiler
- did not produce correct code for statements that contained an extra
- set of parentheses.
- EXAMPLE: (( Test() ))
-
- 15. Fixed C3039 PHASE ERROR in the compiler that occurred when a .PRG
- source file contained several static variables that were inline
- initialized to a codeblock.
- EXAMPLE: static Var1 := { | x | func1( x ) }
- static Var2 := { | x | func2( x ) }
- static Var3 := { | x | func3( x ) }
-
- 16. Fixed a lockup in the compiler that occurred when a .PRG had a large
- number of STATIC variables.
-
- 17. Fixed the compiler so that /Z switch has effect on expressions that
- contain constants.
-
- 18. Fixed the compiler so it will not produce the "C3050 Something
- terrible has happened" error when it encounters a user defined
- function whose argument is being negated.
- Example: MyUDF( -X )
-
- 19. Fixed a problem in the compiler that allowed it to accept illegal
- comment blocks.
- EXAMPLE: /**/*/
-
- 20. Fixed the compiler so it now generates an error when it encounters
- one of the following incorrect control blocks:
- IF...ELSE...ELSE...ENDIF
- IF...ELSE...ELSEIF...ENDIF
-
- 21. Fixed the compiler to generate an error when it encounters the
- following statement: Alias->Alias-><field>
-
- 22. Fixed the compiler so it does not generate an error when it
- encounters an expression containing multiple NOTs.
- EXAMPLE: iff( ! ! .t., .t., .f. )
-
- 23. Fixed the compiler so it does not generate an error when it
- encounters a statement in which an aliased expression contains extra
- parenthesis: (MyFunc())->DBFfield
-
- or: ? (MyFunc())[x]
-
- 24. Fixed the compiler so it will not produce the "C2005 Statement not
- recognized match failed at: '&'" error when it encounters the
- following:
- @ nCol, nRow SAY "string" + &(macro_expression)
-
- 25. Fixed evaluating a macro that contains an alias caused a syntax
- error in the next macro evaluation.
- EXAMPLE:
- ? &( "aTest[1]" ) // <value>
- ? &( "test->( RECNO() )" )
- ? &( "aTest[1]" ) // Syntax error - &
-
- 26. Fixed a lockup that occurred when a memvar was created within a
- macro. The scope of that memvar was incorrect, it expanded to the
- upper lever procedure.
- EXAMPLE: &("MEMVAR->dummy") := 666
-
- 27. Fixed a lockup that occurred when using a macro to expand an
- expression, that contains an alias.
- EXAMPLE: &(alias(1))->( Recno() )
-
- 28. Fixed SELECT() so it now returns 0 when passed an invalid parameter.
-
- 29. Fixed DBCREATE() so it generates a run-time error when it is passed
- an unknown RDD name instead of hanging the system.
-
- 30. Fixed The USE command so it does not upper-case convert the
- contents of the variable which is used in VIA clause.
-
- 31. Fixed DBCREATE() so it generates a run-time error when there is not
- enough space on a drive.
-
- 32. Fixed the database/index synchronization as in the following example:
- SET ORDER TO <order>
- REPLACE <not a keyfield>
- SKIP()
- SET ORDER TO <another order>
- SKIP(-1)
- ? RECNO()
-
- 33. Fixed the 'INDEX ON <exp> TO <file> WHILE <exp>' command so it
- does not create only one record in the scoped index (regardless
- how many meet the WHILE condition) when the current index order
- was used, and the most recent DBF movement was not an index
- movement (SKIP, SEEK).
-
- 34. Fixed the updating of the conditional .NTX file when a field,
- that was not in the key expression, was updated.
-
- 35. Fixed index file update failure on complex key expression when
- the multiple fields were being concatenated as a key and the key
- field(s) value(s) were subsequently changed.
-
- 36. Fixed the 'REPLACE <memo_field> WITH' command so it will not cause
- a program to lock up if it attempts to write memo information to
- disk with insufficient space.
-
- 37. Fixed the following commands:
- COPY TO...SDF, COPY TO...DELIMITED
- APPEND FROM...SDF, APPEND FROM...DELIMITED
- so they do not hang the system when the DEFAULT option is chosen
- from the 'cannot open/create file' error message.
-
- 38. Fixed the COPY TO [ SDF | DELIMITED ] command so it does not close
- the current workarea when the DEFAULT option is chosen from the
- 'cannot open/create file' error message.
-
- 39. Fixed the COPY TO command when the current database is the child of
- a relation and there is a pending seek.
-
- 40. Fixed CREATE FROM & COPY STRUCTURE so they work when the target is a
- disk drive designator and file name without a backslash.
- EXAMPLE: C:FileName
-
- 41. Fixed the APPEND FROM SDF command so it would ignore null-characters
- when it reads SDF-file.
-
- 42. Fixed TBrowse so that 'hitBottom' would report .T. if an attempt
- was made to go past the end of the available data when there are
- not enough records to completely fill the TBrowse display and
- refreshAll() is invoked prior to stabilization.
-
- 43. The decimal portion of the field definition for date, logical and
- memo fields is now initialized.
-
- 44. Fixed the function ORDSETFOCUS() to ignore an invalid <cOrderName>
- as per documentation.
-
- 45. Fixed the function ORDSETFOCUS() to return an empty string when a
- database has no controlling order and the DBFNDX driver is used.
-
- 46. Fixed the function INDEXKEY() to return an empty string when there
- was no database opened in a workarea.
-
- 47. Fixed the functions ORDBAGNAME(), ORDNAME(), ORDNUMBER(), ORDKEY(),
- ORDFOR() to provide an argument type checking. The following
- run-time errors are generated when one or more of the arguments are
- of the wrong type:
- Error DBCMD/1021 Argument error: ORDBAGNAME
- Error DBCMD/1022 Argument error: ORDFOR
- Error DBCMD/1023 Argument error: ORDKEY
- Error DBCMD/1024 Argument error: ORDNAME
- Error DBCMD/1025 Argument error: ORDNUMBER
-
- 48. Fixed the inconsistency between OrdSetFocus("") and OrdSetFocus(0).
- Now OrdSetFocus("") also restores the natural order.
-
- 49. Fixed OrdNumber("") so that it returns zero rather than the number of
- orders for the workarea when DBFNDX driver is used.
-
- 50. Fixed the GO <n> command when DBFNDX driver is used and the data
- type of <n> was DOUBLE, not LONG.
-
- 51. Fixed the OrdName(0) so it would return the name of the
- current controlling order when DBFNDX driver is used.
-
- 52. Fixed the OrdNumber(<cOrdName>) when DBFNDX driver is used and
- there is no <cOrdName> in the Order List.
-
- 53. Major revisions have been made to the DBFMDX driver to rectify
- the problems in the previous versions.
-
- 54. Fixed SET ALTERNATE so it generates a run-time error when there
- is no space available on the disk.
-
- 55. Fixed the STRTRAN() function so it no longer goes into an infinite
- loop when the cSearch parameter is a zero length string.
-
- 56. Fixed ALLTRIM() so it generates an error when given an argument
- of the wrong type.
-
- 57. Fixed the function DIRECTORY (, "V") so it does not pad the
- volume name with garbage, if its length is exactly 8 characters
- long.
-
- 58. All commas contained in a GET's PICTURE clause are now copied into
- the GET's edit buffer.
-
- 59. When a GET's PICTURE clause contains an '@R', the number of
- editable positions in its edit buffer is now calculated
- correctly.
-
- 60. When a GET's PICTURE clause contains an '@R', non-picture characters
- beyond the last editable position are now displayed.
-
- 61. When a GET's PICTURE clause contains a paren, a leading paren in its
- edit buffer now causes the value to be parsed as a negative number.
-
- 62. A bug was fixed in which GETs that had a PICTURE clause containing a
- leading '$' would sometimes display negative values with multiple
- '$' characters.
-
- 63. The size of a GET's edit buffer no longer increases if its PICTURE
- clause contains a paren, and a negative value is entered into its
- edit buffer.
-
- 64. In the #command for GET, the smart stringify result marker was
- replaced by a normal stringify result marker. The previous use of
- the smart stringify marker had caused parsing problems whenever an
- aliased variable was used in a GET command.
-
- 65. The ALERT() function now updates the LASTKEY status.
-
- 66. Fixed ALERT() so that it no longer exhibits occasional problems
- when fewer than four option strings are used.
-
- 67. Fixed FSEEK() so that it rejects requests that would cause the
- resulting absolute file position to become negative. In such
- cases the current file position is left unchanged and an error
- flag is set; the value of this flag can be retrieved by calling
- the FERROR() function.
-
- 68. Fixed the 'SET FUNCTION <nnn> TO' command so that it will now
- accept strings that contain only white space.
-
- 69. The SET DATE FORMAT code was modified so that the format string
- must contain non-numeric delimiters between the month, day, and
- year portions.
-
- 70. Fixed the DEVPOS() function so that it now immediately responds
- to an error condition.
-
- 71. Fixed STUFF() so it will generate a run-time error when there is
- insufficient virtual memory to create it's data buffer.
-
- 72. Fixed VAL("-.nnnn") so it does not return "******" now.
-
- 73. Fixed DBU so it does not go to an endless loop if there is a
- filter set on a field and if GOTO is used and a record number is
- given that is not one of the records matching the filter.
-
- 74. Fixed DBU to respond to the <ENTER> key when BROWSEing a
- database in which none of the records match the filter condition.
-
- 75. Fixed DBU so it does not go to an endless loop if, when VIEWing
- an empty database, the user presses any character key.
-
- 76. Fixed DBU to update and reopen indexes after PACKing or ZAPing
- a database.
-
- 77. Fixed DBU so that BROWSE reflects the filter condition after
- PACKing or ZAPing a database.
-
- 78. Fixed the REPORT FORM command's sub-grouping feature when the
- name of the last subgroup in a group was the same as the name
- of the next group.
-
- 79. Fixed the REPORT FORM command without the TO PRINT clause so it
- produces the printer output if SET PRINT ON command was
- previously issued.
-
- 80. The multi-lines per record using ";" - method is now implemented.
-
- 81. Fixed the number of lines on the first REPORT page to be the same
- as the number of lines on the following pages.
-
- 82. Fixed the REPORT FORM command not to do page eject after subgroup
- if page eject after group flag was set to TRUE.
-
- 83. Fixed the REPORT FORM heading not to be truncated when page width
- is set to 61 or more characters.
-
- 84. Fixed the CA-Clipper Debugger so it does not display garbage in
- the last line of the Monitor Window when <PgDn> was pressed.
-
- 85. Fixed RLOCK() and DBRLOCK() so that it would not fail if the database
- was the child of a relation and there was a pending seek.
-
- 86. Fixed the failure of the RLOCK() function when invoked after a
- successful FLOCK() on an open shared database.
-
- =============================================================================
- =============================================================================
-